#include <iostream>
#include <stack>          // 使用栈stack
#include <vector>         // vector
#include <deque>          // deque
#include <gtest/gtest.h>
using namespace std;


int test_stack_constructor_demos(){
    stack<int> first;                    //构造一个用于存放int类型的空栈(默认底层容器为deque)，size=0。这是最简单也是最常用的方式 ٩(๑❛ᴗ❛๑)۶如果感觉别的方式太复杂，会用这一种就行

    deque<int> mydeque (3,100);          //构造一个包含3个int元素的双端队列
    stack<int> second (mydeque);         //用自己的双端队列构造一个栈（size=3）

    stack<int,vector<int> > third;          //指明用vector实现一个栈（存放int），空栈size=0

    vector<int> myvector (2,200);        //构造一个存放2个元素的vector
    stack<int,vector<int> > fourth (myvector);   //用自己的vector构造一个栈，size=2


    //输出四个栈的大小
    cout << "size of first: " << first.size() << endl;
    cout << "size of second: " << second.size() << endl;
    cout << "size of third: " << third.size() << endl;
    cout << "size of fourth: " << fourth.size() << endl;

    return 0;
}



TEST(test_stack_constructor_demos_Test,test0){
    ASSERT_EQ(0,test_stack_constructor_demos());
}